APP DOWNLOAD PORTAL

Project Name: AppDownloadPortal

Technology: ASP.NET Web Forms VB.NET .NET Framework 4.8 Visual Studio
2022

PROJECT OVERVIEW

This project provides an application download portal.

The administrator can upload application files from the Admin page.
Visitors can view available applications, download them, and request a
registry code by email.

No database is used. File-based storage is used.

MAIN FEATURES

1.  Admin application upload.
2.  Application files are stored in the Uploads folder.
3.  Application master records are stored in Applications.rec.
4.  Applications.rec uses fixed-length records and Random Access.
5.  Visitors can view available applications.
6.  Visitors can download applications.
7.  Visitors can request a registry code using their email address.
8.  Registry codes are sent by email.
9.  Registration information is stored in Registrations.rec.
10. Registrations.rec is a Sequential file.
11. New registration records are appended as new lines.
12. Existing registrations are searched using a For…Next loop.
13. Existing registry codes are reused for the same application and
    email.
14. An index is not implemented yet and can be added later if required.

PROJECT STRUCTURE

AppDownloadPortal | +– Admin | +– Frm_UploadApp.aspx | +–
Frm_UploadApp.aspx.vb | +– Frm_UploadApp.aspx.designer.vb | +– Data | +–
Applications.rec | +– Registrations.rec | +– Uploads | +– Uploaded
application files | +– Frm_Downloads.aspx +– Frm_Downloads.aspx.vb +–
Frm_Downloads.aspx.designer.vb | +– Frm_Registration.aspx +–
Frm_Registration.aspx.vb +– Frm_Registration.aspx.designer.vb | +–
Web.config +– Global.asax +– packages.config +– References +– My Project

FILE HANDLING

Applications.rec

Applications.rec is used for application master records.

It uses fixed-length fields and Random Access file handling.

Fields: AppName : 50 characters Version : 10 characters Description :
150 characters FileName : 100 characters

Total record length: 310 characters

Records are written using a record number.

Registrations.rec

Registrations.rec is a Sequential file.

Each registration is stored as one line.

Format: ApplicationName|Email|RegistryCode|DateTime

Example: Test
Application|user@example.com|5414-3893-7162-9231|2026-09-18 11:43:44

New registrations are appended to the file.

Existing registrations are searched line by line using a For…Next loop.

APPLICATION FILE TYPES

The current upload page allows: .exe .zip .msi

The ASP.NET request size is configured for approximately 100 MB.

APPLICATION FLOW

1.  Start the project.
2.  Frm_Downloads.aspx opens as the start page.
3.  The visitor sees available applications.
4.  The visitor can download an application.
5.  The visitor can select Get Registry Code.
6.  Frm_Registration.aspx opens.
7.  The visitor selects an application and enters an email address.
8.  Registrations.rec is searched.
9.  If a matching registration exists, the existing registry code is
    sent.
10. Otherwise a new registry code is generated.
11. The new registration is appended to Registrations.rec.
12. The registry code is sent by email.

ADMIN FLOW

The administrator accesses: Admin/Frm_UploadApp.aspx

The administrator enters: - Application Name - Version - Description -
Application File

After a successful upload: - The application file is saved in Uploads. -
A new application master record is written to Applications.rec. - The
record number is displayed.

EMAIL CONFIGURATION

Registry codes are sent using SMTP.

For Gmail SMTP: Host: smtp.gmail.com Port: 587 SSL: Enabled

Use a Gmail App Password instead of the normal Gmail password.

IMPORTANT: Do not share or commit the real email password or App
Password in the project source code.

FILE PERMISSIONS

The ASP.NET application must have permission to write to: - Data -
Uploads

When deployed to IIS, check the folder permissions for the IIS
application identity if uploading or record writing fails.

RUNNING THE PROJECT

1.  Open the AppDownloadPortal solution in Visual Studio 2022.
2.  Restore NuGet packages if required.
3.  Build the solution.
4.  Set Frm_Downloads.aspx as the Start Page.
5.  Press F5.
6.  The Downloads page should open first.

TESTING CHECKLIST

Upload: - Open Admin - Upload Application. - Upload an .exe, .zip, or
.msi file. - Confirm a record number is displayed. - Confirm the file is
saved in Uploads.

Download: - Open the Downloads page. - Confirm the uploaded application
is displayed. - Click Download. - Confirm the file downloads
successfully.

Registration: - Open Get Registry Code. - Select an application. - Enter
an email address. - Click Get Registration Code. - Confirm the registry
code is received by email. - Confirm a new line is added to
Registrations.rec.

Existing Registration: - Use the same application and email again. -
Confirm the same registry code is sent. - Confirm a new code is not
generated.

FILE TYPES USED

Random Access / Fixed-Length: Applications.rec

Sequential: Registrations.rec

No database is used.

END OF README
